<?php
/**
 * 读取环境变量函数
 */
function getEnvironment() {
    // 首先检查 .env 文件
    if (file_exists(__DIR__ . '/../.env')) {
        $envContent = file_get_contents(__DIR__ . '/../.env');
        if (preg_match('/APP_ENV=(development|production)/', $envContent, $matches)) {
            return $matches[1];
        }
    }
    
    // 然后检查系统环境变量
    $env = getenv('APP_ENV');
    if ($env) {
        return $env;
    }
    
    // 默认为开发环境
    return 'development';
}

// 根据环境变量判断当前环境
$environment = getEnvironment();

// 根据环境设置数据库配置
if ($environment === 'production') {
    // 生产环境配置（远程数据库）
    $dbConfig = [
        // 数据库类型
        'type'               =>  'mysql',
        // 服务器地址
        'hostname'           =>  '116.62.146.217',
        // 数据库名
        'database'           =>  'oa',
        // 用户名
        'username'           =>  'root',
        // 密码
        'password'           =>  'JyDmXg0407',
        // 端口
        'hostport'           =>  '3306',
        // 数据库表前缀
        'prefix'             =>  'oa_',
    ];
} else {
    // 开发环境配置（本地数据库）
    $dbConfig = [
        // 数据库类型
        'type'               =>  'mysql',
        // 服务器地址
        'hostname'           =>  'localhost',
        // 数据库名
        'database'           =>  'oa5',
        // 用户名
        'username'           =>  'root',
        // 密码
        'password'           =>  '123456',
        // 端口
        'hostport'           =>  '3306',
        // 数据库表前缀
        'prefix'             =>  'oa_',
    ];
}

// 构建完整的数据库配置
$mysqlConfig = [
    // 数据库类型
    'type'               =>  $dbConfig['type'],
    // 服务器地址
    'hostname'           =>  $dbConfig['hostname'],
    // 数据库名
    'database'           =>  $dbConfig['database'],
    // 用户名
    'username'           =>  $dbConfig['username'],
    // 密码
    'password'           =>  $dbConfig['password'],
    // 端口
    'hostport'           =>  $dbConfig['hostport'],
    // 数据库表前缀
    'prefix'             =>  $dbConfig['prefix'],
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8mb4
    'charset'         => 'utf8mb4',
    // 数据库调试模式
    'debug'           => false,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'          => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'     => false,
    // 读写分离后 主服务器数量
    'master_num'      => 1,
    // 指定从服务器序号
    'slave_no'        => '',
    // 是否严格检查字段是否存在
    'fields_strict'   => true,
    // 是否需要断线重连
    'break_reconnect' => false,
    // 监听SQL
    'trigger_sql'     => true,
    // 开启字段缓存
    'fields_cache'    => false,
];

return [
    // 默认使用的数据库连接配置
    'default'         => 'mysql',
    // 自定义时间查询规则
    'time_query_rule' => [],
    // 自动写入时间戳字段
    // true为自动识别类型 false关闭
    // 字符串则明确指定时间字段类型 支持 int timestamp datetime date
    'auto_timestamp'  => true,
    // 时间字段取出后的默认时间格式
    'datetime_format' => 'Y-m-d H:i:s',
    // 数据库连接配置信息
    'connections'     => [
        'mysql' => $mysqlConfig,
    ],
];